{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "OCR-transformer.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZyAZeCHqQaMn"
      },
      "source": [
        "# Пример использования"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Nmc6q57gNdwE"
      },
      "source": [
        "## Загрузить репозиторий"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "KaJ0oxptKwVw"
      },
      "source": [
        "!git clone https://github.com/vlomme/OCR-transformer.git"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "p8Slmjx1RSqs"
      },
      "source": [
        "cd OCR-transformer/"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "gXsGQNQ9P2uR"
      },
      "source": [
        "## Загрузить весы обученные на рукописях Петра 1"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "DLZfRv8IGeEz"
      },
      "source": [
        "!gdown https://drive.google.com/uc?id=1NeiUElKph2iDHUhGzywQ8CkQzBoYZjsT\n",
        "!unzip data.zip"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "q0bVf1uUQJs1"
      },
      "source": [
        "## Примеры тестовых изображений"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OS8Lq_7AOxyK"
      },
      "source": [
        "%matplotlib inline\n",
        "import matplotlib.pyplot as plt\n",
        "import cv2,os\n",
        "for filename in os.listdir('./data/'):\n",
        "    img = cv2.imread('./data/'+filename)\n",
        "    plt.imshow(img)\n",
        "    plt.show()"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "mkYXqm5LQgLN"
      },
      "source": [
        "## Предсказать"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nqd2mTOALLKW",
        "outputId": "08b1c146-9faf-4ac0-bfda-329035bd7a2b",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 581
        }
      },
      "source": [
        "!python ocr.py -c 'resnet50_trans.pt' -d './data/'"
      ],
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Символов: 51 : PAD SOS   + 0 1 2 3 4 5 6 7 8 9 [ ] i а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я ѣ EOS\n",
            "The model has 31,181,045 trainable parameters\n",
            "pred: 0.9999897480330304 всего с вѣта в милос\n",
            "pred: 0.9999887943826308 приговору то i протчие не дѣйственны сут\n",
            "pred: 0.9999899864538548 петръ\n",
            "pred: 0.9999636415286928 на откупъ i потщитца прибыли у оной\n",
            "pred: 0.9999810458034517 на чех\n",
            "pred: 0.9999390847171388 дѣли чаем быт бою гдѣ все окажет\n",
            "pred: 0.9999998807907104 3\n",
            "pred: 0.9999994039536659 царица\n",
            "pred: 0.999988913577198 хъ тамочным покло нис\n",
            "pred: 0.9999169137515046 купъцофору комесленных i доховъных\n",
            "pred: 0.9999998807907104 2\n",
            "pred: 0.9999878407014791 дет iли не пърилѣжно просит i го\n",
            "pred: 0.9998998664810645 за пълате дай боже чтоб не зажитца скороб\n",
            "pred: 0.9999176286335298 щего i же воздастъкому ж\n",
            "pred: 0.998254462442348 iз правъ въ въ въ дебря 171 потръ\n",
            "pred: 0.999965429630293 ти i уживота\n",
            "pred: 0.9999936819226889 пармазан один\n",
            "pred: 0.9999884367467757 iли менше\n",
            "pred: 0.9999415876412313 октебря 1712\n",
            "pred: 0.9999769927894555 ниени iмѣютъ все\n",
            "pred: 0.9999994039536375 роги\n",
            "pred: 0.9999991655352005 ния\n",
            "pred: 0.9998910467379944 неволником ослабу а страланца жело\n",
            "pred: 0.9999994039536517 ляетца\n",
            "pred: 1.0 3\n",
            "pred: 0.9999482636942766 помощию брешь начинайте i когъда\n",
            "pred: 0.9999889135613529 сударству в торое правъду\n",
            "pred: 0.9994126590336931 степени есть] i та моего уличат i буде ужде ули\n",
            "pred: 0.9999961853059887 двѣ\n"
          ],
          "name": "stdout"
        }
      ]
    }
  ]
}